-- @Author: baidwwy
-- @Date:   2023-10-05 09:43:27
-- @Last Modified by:   baidwwy
-- @Last Modified time: 2023-12-22 13:57:10
--======================================================================--
local 一键加点 = class()
local tp,zts,zys
local insert = table.insert
local floor = math.floor
local dwd={"体质","魔力","力量","耐力","敏捷"}


function 一键加点:初始化(根)
	self.ID = 161
	self.x = 249
	self.y = 130
	self.xx = 0
	self.yy = 0
	self.方案 = 0
	self.注释 = "一键加点"
	self.可视 = false
	self.鼠标 = false
	self.焦点 = false
	self.可移动 = true
	local 按钮 = 根._按钮
	local 自适应 = 根._自适应
	local 资源 = 根.资源
	self.资源组 = {
		[1] = 自适应.创建(0,1,280,242,3,9),
		[2] = 按钮.创建(自适应.创建(18,4,16,16,4,3),0,0,4,true,true),--关闭
		[3] = 资源:载入("pic/转门派/属性切换.png","图片"),
		[4] = 资源:载入('org.rpk',"网易WDF动画",0x1000374),
		[5] = 按钮.创建(自适应.创建(12,4,60,22,1,3),0,0,4,true,true,"设 定"),

		[6] = 根._滑块.创建(资源:载入('wzife.wdf',"网易WDF动画",0x8D4BBC26),1,124,16,1),
		[7] = 根._滑块.创建(资源:载入('wzife.wdf',"网易WDF动画",0x8D4BBC26),1,124,16,1),
		[8] = 根._滑块.创建(资源:载入('wzife.wdf',"网易WDF动画",0x8D4BBC26),1,124,16,1),
		[9] = 根._滑块.创建(资源:载入('wzife.wdf',"网易WDF动画",0x8D4BBC26),1,124,16,1),
		[10] = 根._滑块.创建(资源:载入('wzife.wdf',"网易WDF动画",0x8D4BBC26),1,124,16,1),


		[11] =  按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),--+++
		[12] =  按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),
		[13] =  按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),
		[14] =  按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),
		[15] =  按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),
		[16] =  按钮.创建(自适应.创建(26,4,19,19,4,3),0,0,4,true,true),-----
		[17] =  按钮.创建(自适应.创建(26,4,19,19,4,3),0,0,4,true,true),
		[18] =  按钮.创建(自适应.创建(26,4,19,19,4,3),0,0,4,true,true),
		[19] =  按钮.创建(自适应.创建(26,4,19,19,4,3),0,0,4,true,true),
		[20] =  按钮.创建(自适应.创建(26,4,19,19,4,3),0,0,4,true,true),

	}
	self.资源组[5]:置偏移(5,0)
	self.资源组[2]:绑定窗口_(self.ID)
	self.资源组[5]:绑定窗口_(self.ID)
	for i=6,20 do
	    self.资源组[i]:绑定窗口_(self.ID)
	end
	self.窗口时间 = 0
	tp = 根
	zts = tp.字体表.普通字体
end

function 一键加点:打开(b, 类型,bb)
	if self.可视 then
		self.可视 = false
	else
		insert(tp.窗口_,self)
		tp.运行时间 = tp.运行时间 + 1
		self.窗口时间 = tp.运行时间
		self.类型 = 类型
		self.编号 = b
		self.可视 = true
		if 类型=="人物" then
			self.可用属性点=tp.队伍[1].潜力
		else
			self.可用属性点=bb.潜力
		end
		self.总属性点=self.可用属性点
		self.已加属性={体质=0,魔力=0,力量=0,耐力=0,敏捷=0}
		for i=6,10 do
		    self.资源组[i]:置起始点(self.资源组[i]:取百分比转换(0,0,self.总属性点))
		end
	end
end

local function 取已用属性点(this)
	local 数额 = 0
	for i=1,5 do
	    数额 = 数额 + this.已加属性[dwd[i]]
	end
	return 数额
end

function 一键加点:显示(dt,x,y)
	self.焦点 = false
	self.资源组[1]:显示(self.x,self.y)
	self.资源组[2]:更新(x,y)
	zts:置颜色(白色)
	zts:显示(self.x+150,self.y+35,"已用: "..取已用属性点(self))
	if self.可用属性点 <= 0 then
		zts:置颜色(红色)
	end
	zts:显示(self.x+50,self.y+35,"可用: "..self.可用属性点)
	zts:置颜色(白色)
	for i=11,15 do
	    self.资源组[i]:更新(x,y,self.可用属性点>0)
	    self.资源组[i]:显示(self.x+235,self.y+65+(i-11)*30)
	    if self.资源组[i]:事件判断() then
	    	self.已加属性[dwd[i-10]] = self.已加属性[dwd[i-10]] + 1
	    	self.可用属性点= self.可用属性点 -1
	    	self.资源组[i-5]:置起始点(self.资源组[i-5]:取百分比转换(self.已加属性[dwd[i-10]],0,self.总属性点))
	    end
	end
	for i=16,20 do
	    self.资源组[i]:更新(x,y,取已用属性点(self)>0)
	    self.资源组[i]:显示(self.x+255,self.y+65+(i-16)*30)
	    if self.资源组[i]:事件判断() then
	    	self.已加属性[dwd[i-15]] = self.已加属性[dwd[i-15]] - 1
	    	self.可用属性点 = self.可用属性点 + 1
	    	self.资源组[i-10]:置起始点(self.资源组[i-10]:取百分比转换(self.已加属性[dwd[i-15]],0,self.总属性点))
	    end
	end
	if self.资源组[2]:事件判断() then
		self:打开()
		return false
	elseif self.资源组[5]:事件判断() then
		if self.总属性点>=取已用属性点(self) then
			if self.类型=="人物" then
				JGESDK:发送(8,self.已加属性)
			else
				self.已加属性.序列=self.编号
				JGESDK:发送(5004,self.已加属性)
			end
			self:打开()
			return false
		else
			tp.常规提示:打开("#Y没有这么多的属性点可用")
		end
	end
	tp.窗口标题背景_:显示(self.x-90+self.资源组[1].宽度/2,self.y)
    引擎.场景.字体表.标题字体:显示(self.x+self.资源组[1].宽度/2,self.y+3,"一键加点")
    self.资源组[2]:显示(self.x-18+self.资源组[1].宽度,self.y+2)
    -- self.资源组[3]:显示(self.x+10,self.y+29)
    zts:置颜色(0xFFCCCCFF)
    for i=1,#dwd do
    	self.资源组[4]:显示(self.x+70,self.y+62+(i-1)*30,0.7,1)
    	zts:显示(self.x+30,self.y+65+(i-1)*30,dwd[i])
    	self.资源组[i+5]:显示(self.x+70,self.y+62+(i-1)*30,x,y,self.鼠标)
    	zts:显示(self.x+200,self.y+65+(i-1)*30,self.已加属性[dwd[i]])
    end
    self.资源组[5]:更新(x,y)
    self.资源组[5]:显示(self.x+110,self.y+212)


    if self.资源组[6].接触 then--音量"
    	local 百分比 = self.资源组[6]:取百分比()
    	self.资源组[6].之前百分比 = 百分比
    	self.已加属性.体质=floor(self.总属性点*百分比)
		self.焦点 = true
	end
	if self.资源组[7].接触 then--音量"
		local 百分比 = self.资源组[7]:取百分比()
    	self.资源组[7].之前百分比 = 百分比
		self.已加属性.魔力=floor(self.总属性点*百分比)
		self.焦点 = true
	end
	if self.资源组[8].接触 then--音量"
		local 百分比 = self.资源组[8]:取百分比()
    	self.资源组[8].之前百分比 = 百分比
		self.已加属性.力量=floor(self.总属性点*百分比)
		self.焦点 = true
	end
	if self.资源组[9].接触 then--音量"
		local 百分比 = self.资源组[9]:取百分比()
    	self.资源组[9].之前百分比 = 百分比
		self.已加属性.耐力=floor(self.总属性点*百分比)
		self.焦点 = true
	end
	if self.资源组[10].接触 then--音量"
		local 百分比 = self.资源组[10]:取百分比()
    	self.资源组[10].之前百分比 = 百分比
		self.已加属性.敏捷=floor(self.总属性点*百分比)
		self.焦点 = true
	end
	self.可用属性点 = self.总属性点 -取已用属性点(self)

	for i=6,10 do
		self.资源组[i]:置最终点(self.资源组[i].初始起始点*(self.可用属性点/self.总属性点))
	end
end

function 一键加点:检查点(x,y)
	if self.可视 and self.资源组[1]:是否选中(x,y)  then
		return true
	end
end

function 一键加点:初始移动(x,y)
	tp.运行时间 = tp.运行时间 + 1
	if not tp.消息栏焦点 then
		self.窗口时间 = tp.运行时间
	end
	if not self.焦点 then
		tp.移动窗口 = true
	end
	if self.可视 and self.鼠标 and  not self.焦点 then
		self.xx = x - self.x
		self.yy = y - self.y
	end
end

function 一键加点:开始移动(x,y)
	if self.可视 and self.鼠标 then
		self.x = x - self.xx
		self.y = y - self.yy
	end
end

return 一键加点